package com.wkbb.sports.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wkbb.common.dto.basic.GradeDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
public class TermDto {
    /**
     * 编号
     */
    private Long id;

    /**
     * 学校ID
     */
    @ApiModelProperty(value = "学校id",name = "orgId")
    private Long orgId;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id",name = "userId")
    private String userId;

    /**
     * 考期名称
     */
    @ApiModelProperty(value = "考期名称",name = "name")
    private String name;

    /**
     * 开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "开始时间",name = "dateBegin")
    private Date dateBegin;

    /**
     * 结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "结束时间",name = "dateEnd")
    private Date dateEnd;

    @ApiModelProperty(value = "年级信息",name = "gradeInfo")
    private Object gradeInfo;

    @ApiModelProperty(value = "考试项目信息",name = "projectInfo")
    private Object projectInfo;

    /**
     * 考试状态(0待开始 1进行中 2已结束)
     */
    @ApiModelProperty(value = "考试状态(0待开始 1进行中 2已结束)",name = "state")
    private Byte state;

    /**
     * 状态(0无效1有效)
     */
    private Byte status;
    /**
     * 考试类型 (1国家体测 2技能体测)
     */
    @ApiModelProperty(value = "考试类型 (1国家体测 2技能体测)",name = "type")
    private Byte type;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人",name = "createUser")
    private String createUser;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改人
     */
    private String updateUser;

    /**
     * 修改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 年级信息
     */
    @ApiModelProperty(value = "年级信息 ",name = "gradeDtos")
    private List<GradeDto> gradeDtos;

    /**
     * 体测信息
     */
    @ApiModelProperty(value = "体测信息",name = "physicalDtos")
    private List<PhysicalDto> physicalDtos;

    /**
     * 体检信息
     */
    @ApiModelProperty(value = "体检信息",name = "examineDtos")
    private List<ExamineDto> examineDtos;
}
